iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
自我挑戰組

前端工程師的java學習紀錄系列 第 15

Day15-package、import

  • 分享至 

  • xImage
  •  

當一個專案非常龐大的時候,有各式各樣不同功能的程式碼,這時候如果沒有分類的話,不是你的眼睛先脫窗就是你的腦袋先爆炸。

Java使用package 進行分類,使用import 將不同分類好的package 引入使用。

Package

package代表一個 ,裡面放的是這個程式中定義好的接口 等文件位置,一個.java 文件中只會有一個package ,並且要放在class 外面和上面。

格式:package folder_name;

一般在命名一個專案時,會依照網域的倒過來並且全部使用小寫命名(並且以能夠一眼就知道它的功能是甚麼為主,假設今天公司網域為www.jaspercompany.com 時,會設定成com/jaspercompany/各個java的package

例如這樣:

src/
└── com/
    └── jaspercompany/
        └── person/
            └── Person.java

Person.jave 檔案中的上方會有這個package 的位置。

package com.jaspercompany.people;

package 中也可以再放其他的package ,並且會用. 當作是不同資料夾的分層。

格式:package folder_name.other_folder_name;

src/
└── com/
    └── jaspercompany/
        └── person/
            └── Person.java
            └── person_behavior
                └── PersonBehavior.java

PersonBehavior.jave 檔案中的上方會有這個package 的位置。

package com.jaspercompany.people.person_behavior;

使用package 的優點:

  • 可以有效的管理程式碼和資料結構。
  • 在定義class 時能夠標示能不能夠給其他的class 使用(後續會再提到)。

一個package 中不可以定義多個相同名稱的class,但是不同的package是可以定義相同名稱的。


import

import指的是從其他定義好的package 中引用class使用。

import java.utils.Arrays;

這樣就可以使用Arrays 中的方法等。

當要引用這個package中的所有class時可以在後面直接加上*

例如:

import java.utils.*;

這樣就可以直接使用java.utils 中所有的class ,但是如果裡面的class 又有其他的package 時,是沒有辦法直接使用。

當使用不同package 但是相同class 名稱時,其中一個可以使用import 的方式,但是另一個需要在使用時輸入完整的package 位置。

例如:

import java.util.Date;

public class Person {
	public static void main(String[] args) {
		Date birthday = new Date();
		java.sql.Date now = new java.sql.Date(415657L);
	}
}

已經import java.util.Date 了,所以birthday 是可以直接宣告型別實例化 ,但是要使用java.sql.Date 時,在宣告時需要加入完整的package 位置,並且實例化 時也同樣要加上。


上一篇
Day14-參數與遞迴
下一篇
Day16-封裝
系列文
前端工程師的java學習紀錄38
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言